/**
 * 获取指定范围内的随机整数
 *
 * @param min 最小值
 * @param max 最大值
 * @returns 返回一个指定范围内的随机整数
 */
export function getRandomInt(min, max) {
  /**
   * 将最小值转换为整数，确保其非负
   */
  min = Math.ceil(min);
  /**
   * 将最大值转换为整数，确保其非正
   */
  max = Math.floor(max);
  /**
   * 生成一个0到(max-min)的随机数，然后加上min，得到最终的随机整数
   */
  return Math.floor(Math.random() * (max - min + 1)) + min;
}

/**
 * 获取指定长度的随机整数数组
 *
 * @param length 数组长度
 * @param min 最小值
 * @param max 最大值
 * @returns 返回一个指定长度的随机整数数组，其中的元素是唯一的
 */
export function getRandomArray(length, min = 0, max = 100) {
  /**
   * 创建一个空的Set对象，用于存储不重复的随机整数
   */
  let set = new Set();
  /**
   * 当Set中的元素数量小于所需长度时，继续添加元素
   */
  while (set.size < length) {
    /**
     * 在0到100的范围内生成一个随机整数，并添加到Set中。可以根据需要修改此范围。
     */
    set.add(getRandomInt(min, max)); // 在这里你可以设置你想要的随机数的范围，比如这里是 0 到 100
  }
  /**
   * 将Set转换为数组，并返回该数组
   */
  return Array.from(set);
}
